Add /io-enrich command (Pillar 2) + correct Apollo Twin X I/O#531
Conversation
Follow-up to #212. Adds the enrichment pipeline that works down the io-quality worklist using authoritative sources. - .claude/commands/io-enrich.md: manual-first, verify-don't-guess process for fixing/enriching a hardware entry's io (one entry per physical jack; positions and column/row from the manual's panel diagrams; adversarial verification). - Pilot: rewrite Universal Audio Apollo Twin X io from 6 broken entries (collapsed output pairs, split Thunderbolt, missing all inputs, uniform Top) to 11 discrete jacks with correct front/rear positions and column/row layout, sourced from the Apollo Twin X Hardware Manual. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
🦋 Changeset detectedLatest commit: 773d80a The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
🚧 Files skipped from review as they are similar to previous changes (2)
WalkthroughThe PR adds a documented ChangesI/O enrichment
Estimated code review effort: 2 (Simple) | ~15 minutes Possibly related PRs
Suggested labels: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
.claude/commands/io-enrich.md (1)
47-50: 🎯 Functional Correctness | 🔵 Trivial | ⚡ Quick winMake the manual download explicit and fail closed.
curl -sLstreams the response and does not fail on HTTP 4xx/5xx responses. Specify a file path and use--fail --show-error --locationbefore opening the PDF. (curl.se)Suggested command
- curl -sL "$manual_url" + curl --fail --location --silent --show-error \ + --output "$scratchpad/manual.pdf" "$manual_url"🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.claude/commands/io-enrich.md around lines 47 - 50, Update the manual-download instructions in the manufacturer manual workflow to save the PDF to an explicit scratchpad file and invoke curl with --fail --show-error --location before using the Read tool. Ensure failed HTTP responses stop the workflow rather than allowing an invalid or missing PDF to be opened.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@data/hardware/universal-audio-apollo-twin-x.yaml`:
- Around line 64-94: Correct the rear-panel metadata by reordering the entries
so Optical Input precedes Thunderbolt 3, then set Optical Input to column 1, row
1; Thunderbolt 3 to column 2, row 1; and Power Supply Input to column 2, row 2.
Preserve the existing connection and descriptive fields.
---
Nitpick comments:
In @.claude/commands/io-enrich.md:
- Around line 47-50: Update the manual-download instructions in the manufacturer
manual workflow to save the PDF to an explicit scratchpad file and invoke curl
with --fail --show-error --location before using the Read tool. Ensure failed
HTTP responses stop the workflow rather than allowing an invalid or missing PDF
to be opened.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: 32ef33d7-17b4-4dc4-bfa2-678b46708fde
📒 Files selected for processing (3)
.changeset/io-enrich-command.md.claude/commands/io-enrich.mddata/hardware/universal-audio-apollo-twin-x.yaml
- Apollo Twin X: the rear panel's left cluster is a 2x2 grid, not a vertical stack. Per the Hardware Manual diagram, OPTICAL IN is top-left with the Thunderbolt port to its right, and the 12VDC barrel sits below Thunderbolt. Reorder Optical before Thunderbolt and set Optical (1,1), Thunderbolt (2,1), Power (2,2). The margin callout numbering (22/21/20) was misread as a stack. - /io-enrich: download manuals with `curl --fail --show-error --location` to an explicit scratchpad path so an HTTP error stops the workflow instead of saving an error page that Read would open as a bogus PDF. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Context
Pillar 2 of the I/O data-quality plan (#212): a repeatable enrichment pipeline that works down the
pnpm io-qualityworklist using authoritative sources. The report (Pillar 1) finds the bad entries; this fixes them correctly.What's in here
/io-enrichcommand (.claude/commands/io-enrich.md) — codifies the manual-first process proven on the Eventide H90:maxConnections: 1); never collapse L/R or numbered pairs.positionandcolumnPosition/rowPositionfrom the diagram; exclude non-port controls (power switches, security slots).Pilot — Universal Audio Apollo Twin X. The old entry had 6 broken
ioentries; the manual's front/rear panel diagrams gave the real layout:Top(guessed)Bottom, rearTop, with column/rowSource: Apollo Twin X Hardware Manual (front/rear panel diagrams).
Verification
pnpm validate✅ (no new warnings on the file),pnpm build✅ — all 11 jacks land inhardware_iowith positions/column/row.Note
One modeling call worth a look: the rear-panel column/row ordering is read from the manual diagram; the horizontal group order is clear, the fine within-cluster vertical order (left power/optical cluster) is moderate-confidence. Easy to tweak.
🤖 Generated with Claude Code
Summary by CodeRabbit
New Features
/io-enrichenrichment command to correct and validate hardware input/output entries using authoritative references.Documentation